The present invention relates to memory management, and more specifically, to utilizing optimized storage interfaces to extend system memory.
Computing systems rely on memory (sometimes generically referred to as “main memory” or as random access memory, or RAM) for storing data that is currently being operated on by applications, operating systems, and the like. Preferably, the memory is a relatively fast method of storage that provides rapid input and output. Generally, increasing the size of the available memory also improves the functioning of the computer. However, memory sizes are limited by a variety of factors. Many computing systems have a limited number of slots that can accept memory. Many systems are similarly limited in what range of memory can be physically addressed by the processor. Further, even without such limitations, memory is a relatively expensive form of storage, which may make it impractical to continuously purchase more. Additionally, other cheaper and more expandable options (such as external hard drives) are unsuitable for use as memory because of the relatively slow I/O they provide, as compared to memory.